#pragma once

namespace Recognition
{
	class Facade;
}

ref class FacadeWrapper
{
public:
	FacadeWrapper(void);
	~FacadeWrapper(void);
	!FacadeWrapper(void);

	double TestNetwork();
	void Train();
	double GetTrainError();

	void StopTraining();
	bool IsNetworkValid();
	bool IsTrainSetValid();
	bool IsTestSetValid();

	void CreateNewNetwork();
	void SaveNetwork(const wchar_t* fileName);
	void LoadNetwork(const wchar_t* fileName);

	void LoadTraingSet(const wchar_t* directory);
	void LoadTestSet(const wchar_t* directory);

private:
	void Destruct();
	Recognition::Facade* m_facade;
};

